package Action;

import Forms.PrimerArbolForm;
import beans.Usuario;
import hibernate.PrimerArbolBD;
import hibernate.UsuarioBD;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author Antonio
 */
public class PrimerArbolAction extends Action {

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        
        
        //Recuperamos el form
        PrimerArbolForm primerArbolForm = (PrimerArbolForm)form;
        
        PrimerArbolBD arbolBD = new PrimerArbolBD();
        //Si el nombre de la familia es único
        if (!arbolBD.existeFamilia(primerArbolForm.getArbol()))
        {
            Usuario usuario = (Usuario)request.getSession().getAttribute("usuarioActual");
            if (usuario != null)
            {                
                //Se añade la familia
                arbolBD.anadir(primerArbolForm,usuario);
                UsuarioBD usuarioBD = new UsuarioBD(usuario);
                usuario = usuarioBD.recuperaUsuario();
                //Añadimos en sesion el usuario y el nodo del usuario
                request.getSession().setAttribute("usuarioActual",usuario);
                request.getSession().setAttribute("nodoActual", usuario.getNodo());
                return mapping.findForward("ok");
            }
        }
        //En este caso ya existiría la familia o el usuario sería null, por lo que se 
        //devuelve fallo
                        
        request.setAttribute("bandera", true);
        return mapping.findForward("fallo");
    }
    
    

    
    
}
